-
-
Notifications
You must be signed in to change notification settings - Fork 78
Support keyboard navigation over multiple monitors in multitasking view #2536
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
919ea31 to
139ae2f
Compare
d0aa36a to
6507c10
Compare
6507c10 to
96b1148
Compare
96b1148 to
3888e2a
Compare
3888e2a to
fb04de5
Compare
This comment was marked as outdated.
This comment was marked as outdated.
87170b0 to
a57c179
Compare
|
@lenemter I've added two commits on top that rename focusable to widget and then actortarget to widget target. Let me know what you think! |
|
@leolost2605 I think it would be better to leave ActorTarget as is, rename Focusable to Widget, and make Widget subclass ActorTarget. This way Widget uses gesture infrastructure, not the other way around. What do you think? |
a57c179 to
280ecc4
Compare
lenemter
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For some reason when I hold down left/right arrows in with window focused and then release it, the left/right continues to be repeated
| } | ||
|
|
||
| private void set_focus_visible (bool visible) { | ||
| actor.set_qdata (focus_visible_quark, visible); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should check if actor is Widget and use property to store the data, since we don't use qdata anywhere else
280ecc4 to
2b063df
Compare
2b063df to
31a0d8f
Compare
@lenemter Hmm I can't reproduce this but maybe I misunderstood. What I did is with two windows open in the multitaskingview hold arrow key right -> the right most window gets selected -> the bell plays on repeat because the key is held but we can't navigate further to the right -> as soon as I release the key the bell stops
Now that we have the widget i've even been thinking whether we should drop focuscontroller and introduce a |

Instead of manually handling keyboard focus where needed, do it like GTK does it with some adaptations.
We have the FocusController which is added to the "root" focusable of a focus tree (e.g. mtv or window overview).
Then we have the focusable class which is subclassed by the actors in the actor tree where focus is needed. The focusable handles deciding which implementor gets the focus based on the direction.
We now also hide the focus indicator after 5 seconds.
Fixes #2651
Fixes #2648
We can easily add navigation via Tab now too but I would leave that to a follow up